﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using ZhouYu.DreamTour.Model;
using ZhouYu.DreamTour.ViewModel;

namespace ZhouYu.DreamTour.BLL.IService
{
    public interface IOrderService : IDenpendecy
    {


        /// <summary>
        /// 获取用户订单类型集合
        /// </summary>
        /// <param name="Order_Name">订单类型</param>
        /// <returns></returns>
        List<OrderInfo> GetOrder(int id);
        /// <summary>
        /// 修改商品为到货状态
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>

        int UpdateArrival(int id);

        /// <summary>
        /// 取消订单
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        int CancelSpecialty(int id);

        //添加商品评价
        int AddCommodityevaluate(Usercomment usercomment);

        /// <summary>
        /// 修改商品为已评价
        /// </summary>
        /// <param name="id"></param>
        /// <returns></returns>
        int Alreadyevaluated(int id);

        //查询订单状态
        List<OrderInfo> Orderstatus(int status, int UserId);

        #region 添加订单信息
        /// <summary>
        /// 添加订单信息
        /// </summary>
        /// <param name="orderInfo"></param>
        /// <returns></returns>
        ResponseResult AddOrderInfo(OrderInfo orderInfo,int Id);
        #endregion

        #region 添加团购订单信息
        /// <summary>
        /// 添加订单信息
        /// </summary>
        /// <param name="orderInfo"></param>
        /// <returns></returns>
        ResponseResult AddGroupOrderInfo(OrderInfo orderInfo); 
        #endregion

        #region 根据订单号查询订单信息
        /// <summary>
        /// 根据订单号查询订单信息
        /// </summary>
        /// <param name="Order_No"></param>
        /// <returns></returns>
        ResponseResult SelOrderInfoByNo(string Order_No);
        #endregion

        #region 修改订单状态
        /// <summary>
        /// 修改订单状态
        /// </summary>
        /// <param name="Order_No"></param>
        /// <param name="Status"></param>
        /// <returns></returns>
        ResponseResult UpdateOrderStatus(string Order_No, int Status);
        #endregion
    }
}
